The present invention relates generally to computer storage devices, and more specifically, to sub-block input/output (I/O) commands, i.e., sub-block read and sub-block write, for a computer storage device including a byte stream buffer.
In order to store information in a computer system, a physical computer storage device is used. A computer storage device may be divided into fixed storage blocks, each holding the same amount of data (for example, 512 bytes, 4K bytes, or 8K bytes per block). Input/output (I/O) commands, such as reading from and writing to the computer storage device, may only be performed in increments corresponding to the size of a fixed block. For example, in order to perform a read from the computer storage device, one or more entire blocks of data are read out, regardless of the size of the data required for the read. Further, in order to perform a write to the computer storage device of an amount of data that is less than the size of a fixed block, an entire block of data is read out, the block data is updated with the write data, and the updated block is then written back into the computer storage device.